home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TeX 1995 July
/
TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO
/
macros
/
latex209
/
contrib
/
bookform
/
bf10.sty
< prev
next >
Wrap
Text File
|
1993-01-11
|
17KB
|
367 lines
% BOOKFORM DOCUMENT STYLE -- for LaTeX version 2.08
% ****************************************
% * FONTS *
% ****************************************
%
\lineskip 1pt % \lineskip is 1pt for all font sizes.
\normallineskip 1pt
\def\baselinestretch{1}
% Each size-changing command \SIZE executes the command
% \@setsize\SIZE{BASELINESKIP}\FONTSIZE\@FONTSIZE
% where:
% BASELINESKIP = Normal value of \baselineskip for that size. (Actual
% value will be \baselinestretch * BASELINESKIP.)
%
% \FONTSIZE = Name of font-size command. The currently available
% (preloaded) font sizes are: \vpt (5pt), \vipt (6pt),
% \viipt (etc.), \viiipt, \ixpt, \xpt, \xipt, \xiipt,
% \xivpt, \xviipt, \xxpt, \xxvpt.
% \@FONTSIZE = The same as the font-size command except with an
% '@' in front---e.g., if \FONTSIZE = \xivpt then
% \@FONTSIZE = \@xivpt.
%
% For reasons of efficiency that needn't concern the designer,
% the document style defines \@normalsize instead of \normalsize . This is
% done only for \normalsize, not for any other size-changing commands.
\def\@normalsize{\@setsize\normalsize{12pt}\xpt\@xpt
\abovedisplayskip 10pt plus2pt minus5pt%
\belowdisplayskip \abovedisplayskip
\abovedisplayshortskip \z@ plus3pt%
\belowdisplayshortskip 6pt plus3pt minus3pt}
\def\small{\@setsize\small{11pt}\ixpt\@ixpt
\abovedisplayskip 8.5pt plus 3pt minus 4pt%
\belowdisplayskip \abovedisplayskip
\abovedisplayshortskip \z@ plus2pt%
\belowdisplayshortskip 4pt plus2pt minus 2pt
\def\@listi{\topsep 4pt plus 2pt minus 2pt\parsep 2pt plus 1pt minus 1pt
\itemsep \parsep}}
\def\footnotesize{\@setsize\footnotesize{9.5pt}\viiipt\@viiipt
\abovedisplayskip 6pt plus 2pt minus 4pt%
\belowdisplayskip \abovedisplayskip
\abovedisplayshortskip \z@ plus 1pt%
\belowdisplayshortskip 3pt plus 1pt minus 2pt
\def\@listi{\topsep 3pt plus 1pt minus 1pt\parsep 2pt plus 1pt minus 1pt
\itemsep \parsep}}
\def\scriptsize{\@setsize\scriptsize{8pt}\viipt\@viipt}
\def\tiny{\@setsize\tiny{6pt}\vpt\@vpt}
\def\large{\@setsize\large{14pt}\xiipt\@xiipt}
\def\Large{\@setsize\Large{18pt}\xivpt\@xivpt}
\def\LARGE{\@setsize\LARGE{22pt}\xviipt\@xviipt}
\def\huge{\@setsize\huge{25pt}\xxpt\@xxpt}
\def\Huge{\@setsize\Huge{30pt}\xxvpt\@xxvpt}
\normalsize % Choose the normalsize font.
% ****************************************
% * PAGE LAYOUT *
% ****************************************
%
% All margin dimensions measured from a point one inch from top and side
% of page. Dimensions shrink by about 2 percent
% SIDE MARGINS:
\if@twoside % Values for two-sided printing:
\oddsidemargin 44pt % Left margin on odd-numbered pages.
\evensidemargin 82pt % Left margin on even-numbered pages.
\marginparwidth 107pt % Width of marginal notes.
\else % Values for one-sided printing:
\oddsidemargin 0pt % Note that \oddsidemargin = \evensidemargin
\evensidemargin 0pt
\marginparwidth 90pt
\fi
\marginparsep 11pt % Horizontal space between outer margin and
% marginal note
% VERTICAL SPACING:
% Top of page:
\topmargin -35pt % Nominal distance from top of page to top of
% box containing running head.
\headheight 24pt % Height of box containing running head.
\headsep 25pt % Space between running head and text.
% \topskip = 10pt % '\baselineskip' for first line of page.
% Bottom of page:
\footheight 12pt % Height of box containing running foot.
\footskip 75pt % Distance from baseline of box containing foot
% to baseline of last line of text.
% DIMENSION OF TEXT:
\textheight 8.33in % Height of text (including footnotes and figures,
% excluding running head and foot).
\textwidth 6.25in % Width of text line.
% For two-column mode:
\columnsep 10pt % Space between columns
\columnseprule 0pt % Width of rule between columns.
% A \raggedbottom command causes 'ragged bottom' pages: pages set to
% natural height instead of being stretched to exactly \textheight.
% FOOTNOTES:
\footnotesep 12pt % Height of strut placed at the beginning of every
% footnote.
\skip\footins 6pt plus 2pt minus 2pt % Space between last line of text and
% top of first footnote.
% FLOATS: (a float is something like a figure or table)
%
% FOR FLOATS ON A TEXT PAGE:
%
% ONE-COLUMN MODE OR SINGLE-COLUMN FLOATS IN TWO-COLUMN MODE:
\floatsep 12pt plus 2pt minus 2pt % Space between adjacent floats moved
% to top or bottom of text page.
\textfloatsep 20pt plus 2pt minus 4pt % Space between main text and floats
% at top or bottom of page.
\intextsep 12pt plus 2pt minus 2pt % Space between in-text figures and
% text.
\@maxsep 20pt % The maximum of \floatsep,
% \textfloatsep and \intextsep (minus
% the stretch and shrink).
% TWO-COLUMN FLOATS IN TWO-COLUMN MODE:
\dblfloatsep 12pt plus 2pt minus 2pt % Same as \floatsep for double-column
% figures in two-column mode.
\dbltextfloatsep 20pt plus 2pt minus 4pt % \textfloatsep for double-column
% floats.
\@dblmaxsep 20pt % The maximum of \dblfloatsep and
% \dbltexfloatsep.
% FOR FLOATS ON A SEPARATE FLOAT PAGE OR COLUMN:
% ONE-COLUMN MODE OR SINGLE-COLUMN FLOATS IN TWO-COLUMN MODE:
\@fptop 0pt plus 1fil % Stretch at top of float page/column. (Must be
% 0pt plus ...)
\@fpsep 8pt plus 2fil % Space between floats on float page/column.
\@fpbot 0pt plus 1fil % Stretch at bottom of float page/column. (Must be
% 0pt plus ... )
% DOUBLE-COLUMN FLOATS IN TWO-COLUMN MODE.
\@dblfptop 0pt plus 1fil % Stretch at top of float page. (Must be 0pt plus ...)
\@dblfpsep 8pt plus 2fil % Space between floats on float page.
\@dblfpbot 0pt plus 1fil % Stretch at bottom of float page. (Must be
% 0pt plus ... )
% MARGINAL NOTES:
%
\marginparpush 5pt % Minimum vertical separation between two marginal
% notes.
% ****************************************
% * PARAGRAPHING *
% ****************************************
%
\parskip 10pt plus 1pt % Extra vertical space between paragraphs.
\parindent 15pt % Width of paragraph indentation.
\topsep 8pt plus 2pt minus 4pt % Extra vertical space, in addition to
% \parskip, added above and below list and
% paragraphing environments.
\partopsep 2pt plus 1pt minus 1pt % Extra vertical space, in addition to
% \parskip and \topsep, added when user
% leaves blank line before environment.
\itemsep 4pt plus 2pt minus 1pt % Extra vertical space, in addition to
% \parskip, added between list items.
% The following page-breaking penalties are defined
\@lowpenalty 51 % Produced by \nopagebreak[1] or \nolinebreak[1]
\@medpenalty 151 % Produced by \nopagebreak[2] or \nolinebreak[2]
\@highpenalty 301 % Produced by \nopagebreak[3] or \nolinebreak[3]
\@beginparpenalty -\@lowpenalty % Before a list or paragraph environment.
\@endparpenalty -\@lowpenalty % After a list or paragraph environment.
\@itempenalty -\@lowpenalty % Between list items.
% \clubpenalty % 'Club line' at bottom of page.
% \widowpenalty % 'Widow line' at top of page.
% \displaywidowpenalty % Math display widow line.
% \predisplaypenalty % Breaking before a math display.
% \postdisplaypenalty % Breaking after a math display.
% \interlinepenalty % Breaking at a line within a paragraph.
% \brokenpenalty % Breaking after a hyphenated line.
% ****************************************
% * SECTIONS *
% ****************************************
%
% \secdef{UNSTARCMDS}{STARCMDS} :
% When defining a sectionioning command without using
% \@startsection, you can use \secdef as follows:
% \def\part { ... \secdef \CMDA \CMDB }
% \def\CMDA [#1]#2{ ... } % Command to define \part[...]{...}
% \def\CMDB #1{ ... } % Command to define \part*{...}
\def\part{\par % New paragraph
\addvspace{4ex} % Adds vertical space above title.
\@afterindentfalse % Suppresses indent in first paragraph. Change
\secdef\@part\@spart} % to \@afterindenttrue to have indent.
\def\@part[#1]#2{\ifnum \c@secnumdepth >\m@ne % IF secnumdepth > -1
\refstepcounter{part} % THEN step part counter
\addcontentsline{toc}{part}{\thepart % add toc line
\hspace{1em}#1}\else % ELSE add unnumbered line
\addcontentsline{toc}{part}{#1}\fi % FI
{ \parindent 0pt \raggedright
\ifnum \c@secnumdepth >\m@ne % IF secnumdepth > -1
\Large \bf Part \thepart % THEN Print 'Part' and
\par \nobreak % number in \Large boldface.
\fi % FI
\huge \bf % Select \huge boldface.
#2\markboth{}{}\par } % Print title and set heading marks null.
\nobreak % TeX penalty to prevent page break.
\vskip 3ex % Space between title and text.
\@afterheading % Routine called after part and
} % section heading.
% Heading for \part* command
\def\@spart#1{{\parindent 0pt \raggedright
\huge \bf
#1\par} % Title.
\nobreak % TeX penalty to prevent page break.
\vskip 3ex % Space between title and text.
\@afterheading % Routine called after part and
} % section heading.
% \@startsection {NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}
% optional * [ALTHEADING]{HEADING}
% Generic command to start a section.
% NAME : e.g., 'subsection'
% LEVEL : a number, denoting depth of section -- i.e., section=1,
% subsection = 2, etc. A section number will be printed if
% and only if LEVEL < or = the value of the secnumdepth
% counter.
% INDENT : Indentation of heading from left margin
% BEFORESKIP : Absolute value = skip to leave above the heading.
% If negative, then paragraph indent of text following
% heading is suppressed.
% AFTERSKIP : if positive, then skip to leave below heading,
% else - skip to leave to right of run-in heading.
% STYLE : commands to set style
% If '*' missing, then increments the counter. If it is present, then
% there should be no [ALTHEADING] argument. A sectioning command
% is normally defined to \@startsection + its first six arguments.
\def\section{\@startsection {section}{1}{\parindent}
{3.5ex plus 1ex minus .2ex}{2.3ex plus .2ex}{\sectionstyle}}
\def\subsection{\@startsection{subsection}{2}{\parindent}
{3.25ex plus 1ex minus .2ex}{-1.5ex plus .2ex}{\subsectionstyle}}
\def\subsubsection{\@startsection{subsubsection}{3}{\parindent}
{3.25ex plus 1ex minus .2ex}{-1.5ex plus -.2ex}{\subsubsectionstyle}}
\def\paragraph{\@startsection {paragraph}{4}{\parindent}
{3.25ex plus 1ex minus .2ex}{-1em}{\paragraphstyle}}
\def\subparagraph{\@startsection {subparagraph}{5}{\parindent}
{3.25ex plus 1ex minus .2ex}{-1em}{\subparagraphstyle}}
\def\subsubparagraph{\@startsection {subsubparagraph}{6}{\parindent}
{3.25ex plus 1ex minus .2ex}{-1em}{\subsubparagraphstyle}}
\def\subsubsubparagraph{\@startsection {subsubsubparagraph}{7}{\parindent}
{3.25ex plus 1ex minus .2ex}{-1em}{\subsubsubparagraphstyle}}
% The value of the counter secnumdepth gives the depth of the
% highest-level sectioning command that is to produce section numbers.
%
\setcounter{secnumdepth}{7}
% APPENDIX
%
% The \appendix command must do the following:
% -- reset the section counter to zero and
% -- reset the subsection counter to zero
% -- redefine the \section command to produce the proper format appendix
\def\appendix{\par
\clearpage
\renewcommand{\thepage}{\Roman{appnumber}-\arabic{page}}
\setcounter{appnumber}{0}
\ifnum \value{section} > 9 \setcounter{increment}{99}
\else \setcounter{increment}{9} \fi
\setcounter{section}{0}
\setcounter{subsection}{0}
\makeatletter
\def\section{\clearpage \addtocounter{section}{\value{increment}}
\addtocounter{appnumber}{1} \setcounter{page}{1}
\addtocontents{toc}{\noindent\hspace{7em}APPENDIX~\Roman{appnumber}}
\setcounter{figure}{0}
\setcounter{table}{0}
\begin{center}
\large\bf
APPENDIX~\Roman{appnumber}
\end{center}
\par
\@startsection {section}{1}{\parindent}{3.5ex plus 1ex minus
.2ex}{2.3ex plus .2ex}{\sectionstyle}}
\makeatother
\def\thefigure{\Roman{appnumber}-\arabic{figure}}
\def\thetable{\Roman{appnumber}-\Roman{table}}
}
% ****************************************
% * LISTS *
% ****************************************
%
% The following commands are used to set the default values for the list
% environment's parameters. See the LaTeX manual for an explanation of
% the meanings of the parameters. Defaults for the list environment are
% set as follows. First, \rightmargin, \listparindent and \itemindent
% are set to 0pt. Then, for a Kth level list, the command \@listK is
% called, where 'K' denotes 'i', 'ii', ... , 'vi'. (I.e., \@listiii is
% called for a third-level list.) By convention, \@listK should set
% \leftmargin to \leftmarginK.
%
% For efficiency, level-one list's values are defined at top level, and
% \@listi is defined to set only \leftmargin
\leftmargini 4.5em % 25pt
\leftmarginii 2.2em % 22pt % > \labelsep + width of '(m)'
\leftmarginiii 1.87em % 18.7pt % > \labelsep + width of 'vii.'
\leftmarginiv 1.7em % 17pt % > \labelsep + width of 'M.'
\leftmarginv 1em % 10pt
\leftmarginvi 1em % 10pt
\leftmargin\leftmargini
\labelwidth\leftmargini\advance\labelwidth-\labelsep
\labelsep 5pt
\parsep 4pt plus 2pt minus 1pt
\def\@listi{\leftmargin\leftmargini}
\def\@listii{\leftmargin\leftmarginii
\labelwidth\leftmarginii\advance\labelwidth-\labelsep
\topsep 4pt plus 2pt minus 1pt
\parsep 2pt plus 1pt minus 1pt
\itemsep \parsep}
\def\@listiii{\leftmargin\leftmarginiii
\labelwidth\leftmarginiii\advance\labelwidth-\labelsep
\topsep 2pt plus 1pt minus 1pt
\parsep \z@ \partopsep 1pt plus 0pt minus 1pt
\itemsep \topsep}
\def\@listiv{\leftmargin\leftmarginiv
\labelwidth\leftmarginiv\advance\labelwidth-\labelsep}
\def\@listv{\leftmargin\leftmarginv
\labelwidth\leftmarginv\advance\labelwidth-\labelsep}
\def\@listvi{\leftmargin\leftmarginvi
\labelwidth\leftmarginvi\advance\labelwidth-\labelsep}
% DEC/CMS REPLACEMENT HISTORY, Element BF10.STY
% *7 25-FEB-1986 14:12:05 MCPHERSON "Change \footskip to move page number down a little"
% *6 24-FEB-1986 13:22:24 MCPHERSON "Remove revision dates from the file"
% *5 21-FEB-1986 18:12:59 MCPHERSON "Corrected the increment counter definition"
% *4 21-FEB-1986 18:09:56 MCPHERSON "Correct appnumber counter definition"
% *3 21-FEB-1986 17:36:36 MCPHERSON "Moved subsection,... text to end of title, fixed toc entries for appendix"
% *2 17-FEB-1986 14:27:35 MCPHERSON "Appendices have figures and tables numbered from 1"
% *1 7-FEB-1986 10:12:15 MCPHERSON "Initial bookform style"
% DEC/CMS REPLACEMENT HISTORY, Element BF10.STY